package com.UnionPayCenter.operation.service;

import com.UnionPayCenter.operation.entity.Activity;
import com.UnionPayCenter.operation.entity.dto.ActivityDTO;
import com.UnionPayCenter.operation.entity.dto.ActivityQueryDTO;
import com.UnionPayCenter.operation.entity.vo.ActivityVO;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * 运营活动service
 */
public interface ActivityService {

    /**
     * 新增活动
     *
     * @param activityDTO
     * @return
     */
    Integer addActivity(ActivityDTO activityDTO);

    /**
     * 删除活动
     *
     * @param activityId 活动Id
     */
    void deleteActivity(Integer activityId);

    /**
     * 修改活动状态
     *
     * @param activityDTO
     */
    void updateActivityStatus(ActivityDTO activityDTO);

    /**
     * 修改活动
     *
     * @param activityDTO
     */
    void updateActivity(ActivityDTO activityDTO);

    /**
     * 查询活动
     *
     * @param activityQueryDTO 查询条件
     * @return
     */
    PageInfo<ActivityVO> getActivity(ActivityQueryDTO activityQueryDTO);

    /**
     * 查询活动, 不查询奖励信息
     *
     * @param activityQueryDTO
     * @return
     */
    PageInfo<Activity> getActivityWithoutRewards(ActivityQueryDTO activityQueryDTO);

    /**
     * 根据类型查询活动
     *
     * @param activityQueryDTO
     * @return
     */
    List<ActivityVO> getActivityByType(ActivityQueryDTO activityQueryDTO);

    ActivityVO getActivityById(Integer activityId);

}
